﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ShuticsEntities;

namespace ShuticsBiz
{
    public static class ControlCandidato
    {
        public static List<TipoDoc> GetTiposDocumento()
        {
            return Model.context.TipoDoc.ToList();
        }

        public static int Buscar(TipoDoc tipo, string doc)
        {
            return Model.context.Candidato.Single(c => c.TipoDoc.ID == tipo.ID && c.NroDocumento == doc && c.Eliminado == false).ID;
        }

        public static List<Candidato> Buscar(int? nroEmp, int? nroCand, string apellido, string nombre)
        {
            var candidatos = Model.context.Candidato.Where(c => !c.Eliminado).ToList();
            candidatos = !apellido.Equals("") ? candidatos.Where(c => c.Apellido.ToUpper().Contains(apellido)).ToList() : candidatos;
            candidatos = !nombre.Equals("") ? candidatos.Where(c => c.Nombre.ToUpper().Contains(nombre)).ToList() : candidatos;
            candidatos = nroEmp.HasValue ? candidatos.Where(c => c.NroEmpleado.ToString().Contains(nroEmp.ToString())).ToList() : candidatos;
            candidatos = nroCand.HasValue ? candidatos.Where(c => c.NroCandidato.ToString().Contains(nroCand.ToString())).ToList() : candidatos;

            foreach (Candidato c in candidatos)
            {
                c.TipoDocReference.Load();
            }

            return candidatos.OrderBy(c => c.Apellido).ThenBy(c => c.Nombre).ToList();
        }
    }
}
